package net.thxjj.adminServer.service;

import net.thxjj.adminServer.entity.StaticBean;
import net.thxjj.adminServer.entity.StatusBean;
import net.thxjj.adminServer.entity.aep.profilegc.ProfileGCInfoBean;
import net.thxjj.adminServer.entity.aep.profilegc.ProfileGCLoginBean;
import net.thxjj.adminServer.util.ParameterMap;
import net.thxjj.sitermodel.Device;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public interface IProfileGCService {

    //MQ插入profileInfo
    public void mqAddDevLog (ProfileGCInfoBean profileGCInfoBean);

    //MQ插入Login状态数据
    public void mqAddLoginData (ProfileGCLoginBean profileGCLoginBean);

    public void updateDeviceData(Device device);


    //获取最近一次报警器状态
    public ProfileGCInfoBean ShadowStatus(String device_id);

    //判断是否发生多次登录的异常
    public ParameterMap isMultiLoginError(String device_id);

    //获取最近一次报警器状态
    public ProfileGCLoginBean ShadowLoginStatus(String device_id);

    //心跳包成功率
    public ParameterMap HeartBeat(String device_id);


    //获取登录及处理日志
    public List<List<Object>> getLoginErrList(String device_id);


    public List<ProfileGCInfoBean> getInfoList(String device_id, long start_time, long end_time);

    public StaticBean getSnrStatic(String device_id, long start_time, long end_time);


    public StaticBean getRsrpStatic(String device_id, long start_time, long end_time);

    public StaticBean getRsrqStatic(String device_id, long start_time, long end_time);

    public StaticBean getCsqStatic(String device_id, long start_time, long end_time);

    public StaticBean getPciStatic(String device_id, long start_time, long end_time);

    public StaticBean getTacStatic(String device_id, long start_time, long end_time);

    public StaticBean getEclStatic(String device_id, long start_time, long end_time);

    public StaticBean getEarfcnStatic(String device_id, long start_time, long end_time);

    public List<StatusBean> getJsonDataAtTime (String device_id, long start_time, long end_time);

    public List<ProfileGCInfoBean> getInfoAlarmList(String device_id, long start_time, long end_time);

    public ParameterMap getInfoStatusList(String device_id, long start_time, long end_time);
}
